<?php

declare (strict_types = 1);

namespace app\common\helper\qrcode;

use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;
use Endroid\QrCode\Encoding\Encoding;


/**
 * 二维码生成
 */
class Myqrcode
{
    /**
     * 快速生成二维码
     * Author：上官钧墨
     * @param string $text   生成的文本
     * @param integer $size   内容区域大小
     * @param integer $margin 内容区域外边距
     * @return string          返回Base64图片内容
     */
    public static function png(string $text = "", int $size = 200, int $margin = 10)
    {
        
        $qrCode = new QrCode($text);
        // 内容编码
        $qrCode->getEncoding(new Encoding('UTF-8'));
        // 内容区域大小
        $qrCode->getSize($size);
        // 内容区域外边距
        $qrCode->getMargin($margin);
        // 生成二维码数据对象(后面两个参数都是可选的)
        $result = (new PngWriter)->write($qrCode);
        // 返回 base64 格式的图片
        return $result->getDataUri();

    }
}